package com.ddone.finance.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ddone.finance.pojo.entity.UserInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ddone.finance.pojo.vo.LoginVo;
import com.ddone.finance.pojo.vo.RegisterVO;
import com.ddone.finance.pojo.vo.UserIndexVO;
import com.ddone.finance.pojo.vo.UserInfoSearchVo;

/**
 * <p>
 * 用户基本信息 服务类
 * </p>
 *
 * @author ddone
 * @since 2024-04-10
 */
public interface UserInfoService extends IService<UserInfo> {

    void register(RegisterVO registerVO);

    String login(LoginVo loginVo, String ip);

    UserInfo getByOpenId(String openId);

    Page<UserInfo> pageWithCondition(Page<UserInfo> pageParam, UserInfoSearchVo userInfoSearchVo);

    boolean checkMobile(String mobile);

    Boolean hasBindMobile(String token);

    UserIndexVO getUserIndexVO(String token);
}
